வலுவான மற்றும் செயல்திறன் மிக்க முற்போக்கு வலைச் செயலிகளை (PWAs) உருவாக்க மேம்பட்ட ஜாவாஸ்கிரிப்ட் சர்வீஸ் வொர்க்கர் பேட்டர்ன்களை ஆராயுங்கள். கேச்சிங் உத்திகள், பின்னணி ஒத்திசைவு, புஷ் அறிவிப்புகள் மற்றும் பலவற்றைக் கற்றுக்கொள்ளுங்கள்.
முற்போக்கு வலைச் செயலி கட்டமைப்பு: ஜாவாஸ்கிரிப்ட் சர்வீஸ் வொர்க்கர் பேட்டர்ன்கள்
முற்போக்கு வலைச் செயலிகள் (PWAs) பயனர்களுக்கு அவர்களின் பிரவுசர்களிலேயே நேரடியாக செயலி போன்ற அனுபவங்களை வழங்குவதன் மூலம் வலை மேம்பாட்டில் புரட்சியை ஏற்படுத்துகின்றன. ஒவ்வொரு PWA-வின் மையத்திலும் சர்வீஸ் வொர்க்கர் உள்ளது, இது ஒரு ஜாவாஸ்கிரிப்ட் கோப்பு, இது ஒரு நிரல்படுத்தக்கூடிய நெட்வொர்க் ப்ராக்ஸியாக செயல்படுகிறது, ஆஃப்லைன் செயல்பாடு, பின்னணி ஒத்திசைவு மற்றும் புஷ் அறிவிப்புகளை செயல்படுத்துகிறது. இந்தக் கட்டுரை உலகளாவிய பார்வையாளர்களுக்காக வடிவமைக்கப்பட்ட, வலுவான மற்றும் செயல்திறன் மிக்க PWAs-ஐ உருவாக்குவதற்கான மேம்பட்ட ஜாவாஸ்கிரிப்ட் சர்வீஸ் வொர்க்கர் பேட்டர்ன்களை ஆராய்கிறது.
சர்வீஸ் வொர்க்கர் வாழ்க்கைச் சுழற்சியைப் புரிந்துகொள்ளுதல்
குறிப்பிட்ட பேட்டர்ன்களுக்குள் செல்வதற்கு முன், சர்வீஸ் வொர்க்கர் வாழ்க்கைச் சுழற்சியைப் புரிந்துகொள்வது முக்கியம். இந்த வாழ்க்கைச் சுழற்சி, சர்வீஸ் வொர்க்கர் எவ்வாறு நிறுவப்படுகிறது, செயல்படுத்தப்படுகிறது மற்றும் புதுப்பிக்கப்படுகிறது என்பதை நிர்ணயிக்கிறது. முக்கிய கட்டங்கள் பின்வருமாறு:
பதிவு (Registration): பிரவுசர் சர்வீஸ் வொர்க்கரைப் பதிவுசெய்து, அதை ஒரு குறிப்பிட்ட ஸ்கோப்புடன் (ஒரு URL பாதை) இணைக்கிறது.
நிறுவுதல் (Installation): சர்வீஸ் வொர்க்கர் நிறுவப்பட்டு, பொதுவாக அத்தியாவசிய சொத்துக்களை கேச்சிங் செய்கிறது.
செயல்படுத்துதல் (Activation): சர்வீஸ் வொர்க்கர் செயலில் இறங்கி, அதன் ஸ்கோப்பில் உள்ள பக்கங்களைக் கட்டுப்படுத்துகிறது.
புதுப்பித்தல் (Update): பிரவுசர் சர்வீஸ் வொர்க்கருக்கான புதுப்பிப்புகளைச் சரிபார்த்து, நிறுவுதல் மற்றும் செயல்படுத்துதல் கட்டங்களை மீண்டும் செய்கிறது.
ஒரு தடையற்ற PWA அனுபவத்திற்கு இந்த வாழ்க்கைச் சுழற்சியை சரியாக நிர்வகிப்பது அவசியம். சில பொதுவான சர்வீஸ் வொர்க்கர் பேட்டர்ன்களை ஆராய்வோம்.
கேச்சிங் உத்திகள்: ஆஃப்லைன் அணுகல் மற்றும் செயல்திறனை மேம்படுத்துதல்
PWAs-இல் ஆஃப்லைன் செயல்பாடு மற்றும் மேம்பட்ட செயல்திறனுக்கான அடித்தளம் கேச்சிங் ஆகும். சர்வீஸ் வொர்க்கர்கள் கேச்சிங் மீது நுணுக்கமான கட்டுப்பாட்டை வழங்குகின்றன, இது டெவலப்பர்களை வெவ்வேறு வகையான சொத்துகளுக்கு ஏற்றவாறு பல்வேறு உத்திகளை செயல்படுத்த அனுமதிக்கிறது. இங்கே சில முக்கிய கேச்சிங் பேட்டர்ன்கள் உள்ளன:
1. கேச்-ஃபர்ஸ்ட் (Cache-First)
கேச்-ஃபர்ஸ்ட் உத்தி, கேச்சில் இருந்து உள்ளடக்கத்தை வழங்குவதற்கு முன்னுரிமை அளிக்கிறது. கேச்சில் சொத்து காணப்பட்டால், அது உடனடியாக திருப்பியனுப்பப்படும். இல்லையெனில், நெட்வொர்க்கிற்கு கோரிக்கை அனுப்பப்பட்டு, பதில் பயனருக்கு திருப்பியனுப்பப்படுவதற்கு முன்பு கேச்சிங் செய்யப்படும். படங்கள், CSS மற்றும் ஜாவாஸ்கிரிப்ட் கோப்புகள் போன்ற அரிதாக மாறும் நிலையான சொத்துகளுக்கு இந்த உத்தி சிறந்தது.
நெட்வொர்க்-ஃபர்ஸ்ட் உத்தி முதலில் நெட்வொர்க்கில் இருந்து சொத்தை பெற முயற்சிக்கிறது. நெட்வொர்க் கோரிக்கை வெற்றி பெற்றால், பதில் கேச்சிங் செய்யப்பட்டு பயனருக்கு திருப்பியனுப்பப்படும். நெட்வொர்க் கோரிக்கை தோல்வியுற்றால் (எ.கா., நெட்வொர்க் இணைப்பு சிக்கல் காரணமாக), சொத்து கேச்சில் இருந்து மீட்டெடுக்கப்படும். செய்தி கட்டுரைகள் அல்லது சமூக ஊடக ஊட்டங்கள் போன்ற புதுப்பித்த நிலையில் இருக்க வேண்டிய உள்ளடக்கத்திற்கு இந்த உத்தி பொருத்தமானது.
கேச்-மட்டும் உத்தி பிரத்தியேகமாக கேச்சில் இருந்து சொத்துக்களை வழங்குகிறது. கேச்சில் சொத்து காணப்படவில்லை என்றால், ஒரு பிழை திருப்பியனுப்பப்படும். ஆஃப்லைன் ஆதாரங்கள் அல்லது முன்கூட்டியே கேச் செய்யப்பட்ட தரவு போன்ற கேச்சில் நிச்சயமாக கிடைக்கும் சொத்துகளுக்கு இந்த உத்தி பொருத்தமானது.
நெட்வொர்க்-மட்டும் உத்தி எப்போதும் நெட்வொர்க்கில் இருந்து சொத்துக்களைப் பெறுகிறது, கேச்சை முழுவதுமாகத் தவிர்க்கிறது. ஒரு ஆதாரத்தின் சமீபத்திய பதிப்பு உங்களுக்கு முற்றிலும் தேவைப்படும்போதும், கேச்சிங் விரும்பப்படாதபோதும் இந்த உத்தி பயன்படுத்தப்படுகிறது.
ஸ்டேல்-வைல்-ரீவாலிடேட் உத்தி, கேச் செய்யப்பட்ட சொத்தை உடனடியாக வழங்குகிறது, அதே நேரத்தில் நெட்வொர்க்கில் இருந்து சமீபத்திய பதிப்பை பெறுகிறது. நெட்வொர்க் கோரிக்கை முடிந்ததும், கேச் புதிய பதிப்புடன் புதுப்பிக்கப்படும். இந்த உத்தி ஒரு வேகமான ஆரம்ப பதிலை வழங்குகிறது, அதே நேரத்தில் பயனர் இறுதியில் மிகவும் புதுப்பித்த உள்ளடக்கத்தைப் பெறுவதை உறுதி செய்கிறது. இது முழுமையான புத்துணர்ச்சியை விட வேகத்தை விரும்பும் முக்கியமற்ற உள்ளடக்கத்திற்கு ஒரு பயனுள்ள உத்தியாகும்.
ஸ்டேல்-வைல்-ரீவாலிடேட் போன்றது, ஆனால் கேச் செய்யப்பட்ட சொத்தை உடனடியாக திருப்பியனுப்பாமல். இது முதலில் கேச்சை சரிபார்க்கிறது, சொத்து இருந்தால் மட்டுமே கேச்சை புதுப்பிக்க பின்னணியில் நெட்வொர்க் கோரிக்கை தொடரும்.
சரியான கேச்சிங் உத்தியைத் தேர்ந்தெடுத்தல்
உகந்த கேச்சிங் உத்தி உங்கள் செயலியின் குறிப்பிட்ட தேவைகளைப் பொறுத்தது. பின்வரும் காரணிகளைக் கருத்தில் கொள்ளுங்கள்:
உள்ளடக்கப் புத்துணர்ச்சி: உள்ளடக்கத்தின் சமீபத்திய பதிப்பைக் காண்பிப்பது எவ்வளவு முக்கியம்?
நெட்வொர்க் நம்பகத்தன்மை: பயனரின் நெட்வொர்க் இணைப்பு எவ்வளவு நம்பகமானது?
செயல்திறன்: பயனருக்கு உள்ளடக்கத்தை எவ்வளவு விரைவாக வழங்க வேண்டும்?
பொருத்தமான கேச்சிங் உத்திகளை கவனமாகத் தேர்ந்தெடுப்பதன் மூலம், ஆஃப்லைன் சூழல்களிலும் உங்கள் PWA-வின் செயல்திறன் மற்றும் பயனர் அனுபவத்தை கணிசமாக மேம்படுத்தலாம். வொர்க்பாக்ஸ் ([https://developers.google.com/web/tools/workbox](https://developers.google.com/web/tools/workbox)) போன்ற கருவிகள் இந்த உத்திகளை செயல்படுத்துவதை எளிதாக்கும்.
பின்னணி ஒத்திசைவு: ஆஃப்லைன் மாற்றங்களைக் கையாளுதல்
பயனர் ஆஃப்லைனில் இருக்கும்போதும், பின்னணி ஒத்திசைவு உங்கள் PWA-வை பின்னணியில் பணிகளைச் செய்ய அனுமதிக்கிறது. படிவங்களைச் சமர்ப்பித்தல், தரவுப் புதுப்பிப்புகள் மற்றும் நெட்வொர்க் இணைப்பு தேவைப்படும் பிற செயல்பாடுகளைக் கையாள்வதற்கு இது மிகவும் பயனுள்ளதாக இருக்கும். `BackgroundSyncManager` API, நெட்வொர்க் கிடைக்கும்போது செயல்படுத்தப்படும் பணிகளைப் பதிவுசெய்ய உங்களை அனுமதிக்கிறது.
பின்னணி ஒத்திசைவுப் பணியைப் பதிவு செய்தல்
ஒரு பின்னணி ஒத்திசைவுப் பணியைப் பதிவு செய்ய, நீங்கள் `BackgroundSyncManager`-இன் `register` முறையைப் பயன்படுத்த வேண்டும். இந்த முறை ஒரு தனிப்பட்ட டேக் பெயரை ஒரு வாதமாக எடுத்துக்கொள்கிறது. டேக் பெயர் செய்யப்பட வேண்டிய குறிப்பிட்ட பணியை அடையாளம் காட்டுகிறது.
பிரவுசர் நெட்வொர்க் இணைப்பைக் கண்டறியும்போது, அது சர்வீஸ் வொர்க்கருக்கு ஒரு `sync` நிகழ்வை அனுப்புகிறது. நீங்கள் இந்த நிகழ்வுக்குச் செவிமடுத்து, சேவையகத்திற்கு தரவை அனுப்புவது போன்ற தேவையான செயல்களைச் செய்யலாம்.
எடுத்துக்காட்டு:
async function doSomeWork() {
// Retrieve data from IndexedDB
const data = await getDataFromIndexedDB();
// Send data to the server
try {
const response = await fetch('/api/sync', {
method: 'POST',
body: JSON.stringify(data),
headers: {
'Content-Type': 'application/json'
}
});
if (response.ok) {
// Clear the data from IndexedDB
await clearDataFromIndexedDB();
} else {
// Handle errors
console.error('Sync failed:', response.status);
throw new Error('Sync failed');
}
} catch (error) {
// Handle network errors
console.error('Network error:', error);
throw error;
}
}
எடுத்துக்காட்டு: ஆஃப்லைன் படிவம் சமர்ப்பிப்பு
ஒரு பயனர் ஆஃப்லைனில் இருக்கும்போது ஒரு படிவத்தை நிரப்பும் ஒரு சூழ்நிலையை கற்பனை செய்து பாருங்கள். சர்வீஸ் வொர்க்கர் படிவத் தரவை IndexedDB-இல் சேமித்து, ஒரு பின்னணி ஒத்திசைவுப் பணியைப் பதிவு செய்யலாம். நெட்வொர்க் கிடைக்கும்போது, சர்வீஸ் வொர்க்கர் IndexedDB-இலிருந்து படிவத் தரவை மீட்டெடுத்து சேவையகத்தில் சமர்ப்பிக்கும்.
பயனர் ஆஃப்லைனில் இருக்கும்போது படிவத்தை நிரப்பி சமர்ப்பிக்கிறார்.
படிவத் தரவு IndexedDB-இல் சேமிக்கப்படுகிறது.
ஒரு தனித்துவமான டேக்குடன் (எ.கா., `form-submission`) ஒரு பின்னணி ஒத்திசைவுப் பணி பதிவு செய்யப்படுகிறது.
நெட்வொர்க் கிடைக்கும்போது, `sync` நிகழ்வு தூண்டப்படுகிறது.
சர்வீஸ் வொர்க்கர் IndexedDB-இலிருந்து படிவத் தரவை மீட்டெடுத்து சேவையகத்தில் சமர்ப்பிக்கிறது.
சமர்ப்பிப்பு வெற்றிகரமாக இருந்தால், படிவத் தரவு IndexedDB-இலிருந்து அகற்றப்படும்.
புஷ் அறிவிப்புகள்: சரியான நேரத்தில் புதுப்பிப்புகளுடன் பயனர்களை ஈடுபடுத்துதல்
புஷ் அறிவிப்புகள், உங்கள் PWA செயலி பிரவுசரில் செயலில் இயங்காத போதும், பயனர்களுக்கு சரியான நேரத்தில் புதுப்பிப்புகளையும் செய்திகளையும் அனுப்ப உதவுகிறது. இது பயனர் ஈடுபாடு மற்றும் தக்கவைப்பை கணிசமாக மேம்படுத்தும். புஷ் அறிவிப்புகளை வழங்க Push API மற்றும் Notifications API ஆகியவை இணைந்து செயல்படுகின்றன.
புஷ் அறிவிப்புகளுக்கு சந்தா செலுத்துதல்
புஷ் அறிவிப்புகளைப் பெற, பயனர்கள் முதலில் உங்கள் PWA-விற்கு அனுமதி வழங்க வேண்டும். பயனர்களை புஷ் அறிவிப்புகளுக்கு சந்தா செலுத்தச் செய்ய `PushManager` API-ஐப் பயன்படுத்தலாம்.
எடுத்துக்காட்டு:
navigator.serviceWorker.ready.then(registration => {
registration.pushManager.subscribe({
userVisibleOnly: true,
applicationServerKey: 'YOUR_PUBLIC_VAPID_KEY'
})
.then(subscription => {
// Send subscription details to your server
sendSubscriptionToServer(subscription);
})
.catch(error => {
console.error('Failed to subscribe:', error);
});
});
முக்கியம்: `YOUR_PUBLIC_VAPID_KEY` என்பதை உங்கள் உண்மையான VAPID (Voluntary Application Server Identification) கீயுடன் மாற்றவும். VAPID கீகள் உங்கள் பயன்பாட்டு சேவையகத்தை அடையாளம் காணவும், புஷ் அறிவிப்புகள் பாதுகாப்பாக அனுப்பப்படுவதை உறுதி செய்யவும் பயன்படுத்தப்படுகின்றன.
புஷ் அறிவிப்புகளைக் கையாளுதல்
ஒரு புஷ் அறிவிப்பு பெறப்படும்போது, சர்வீஸ் வொர்க்கர் ஒரு `push` நிகழ்வை அனுப்புகிறது. நீங்கள் இந்த நிகழ்வுக்குச் செவிமடுத்து, பயனருக்கு அறிவிப்பைக் காட்டலாம்.
Notifications API, புஷ் அறிவிப்புகளின் தோற்றம் மற்றும் நடத்தையைத் தனிப்பயனாக்க உங்களை அனுமதிக்கிறது. நீங்கள் தலைப்பு, உள்ளடக்கம், ஐகான், பேட்ஜ் மற்றும் பிற விருப்பங்களைக் குறிப்பிடலாம்.
எடுத்துக்காட்டு:
self.addEventListener('push', event => {
const data = event.data.json();
const title = data.title || 'My PWA';
const options = {
body: data.body || 'No message',
icon: data.icon || 'icon.png',
badge: data.badge || 'badge.png',
vibrate: [200, 100, 200],
data: { // Custom data that you can access when the user clicks the notification
url: data.url || '/'
},
actions: [
{action: 'explore', title: 'Explore this new world',
icon: 'images/checkmark.png'},
{action: 'close', title: 'Close',
icon: 'images/xmark.png'},
]
};
event.waitUntil(self.registration.showNotification(title, options));
});
self.addEventListener('notificationclick', function(event) {
event.notification.close();
// Check if the user clicked on an action.
if (event.action === 'explore') {
clients.openWindow(event.notification.data.url);
} else {
// Default action: open the app.
clients.openWindow('/');
}
});
எடுத்துக்காட்டு: செய்தி எச்சரிக்கை
ஒரு செய்தி பயன்பாடு, பயனர்களுக்கு முக்கிய செய்திகளைப் பற்றி எச்சரிக்க புஷ் அறிவிப்புகளைப் பயன்படுத்தலாம். ஒரு புதிய கட்டுரை வெளியிடப்படும்போது, சேவையகம் பயனரின் சாதனத்திற்கு ஒரு புஷ் அறிவிப்பை அனுப்புகிறது, இது கட்டுரையின் ஒரு சிறு சுருக்கத்தைக் காட்டுகிறது. பயனர் பின்னர் அறிவிப்பைக் கிளிக் செய்து முழு கட்டுரையையும் PWA-இல் திறக்கலாம்.
மேம்பட்ட சர்வீஸ் வொர்க்கர் பேட்டர்ன்கள்
1. ஆஃப்லைன் பகுப்பாய்வு (Offline Analytics)
பயனர்கள் ஆஃப்லைனில் இருக்கும்போதும் அவர்களின் நடத்தையைக் கண்காணிக்க, பகுப்பாய்வுத் தரவை உள்ளூரில் சேமித்து, நெட்வொர்க் கிடைக்கும்போது சேவையகத்திற்கு அனுப்பவும். இதை IndexedDB மற்றும் பின்னணி ஒத்திசைவைப் பயன்படுத்தி அடையலாம்.
2. பதிப்பிடுதல் மற்றும் புதுப்பித்தல் (Versioning and Updating)
உங்கள் சர்வீஸ் வொர்க்கருக்கு ஒரு வலுவான பதிப்பு உத்தியைச் செயல்படுத்தவும், இதனால் பயனர்கள் தங்கள் அனுபவத்திற்கு இடையூறு விளைவிக்காமல் எப்போதும் சமீபத்திய புதுப்பிப்புகளைப் பெறுவதை உறுதிசெய்யவும். பழைய கேச் செய்யப்பட்ட சொத்துக்களை செல்லாததாக்க கேச் பஸ்டிங் நுட்பங்களைப் பயன்படுத்தவும்.
3. மாடுலர் சர்வீஸ் வொர்க்கர்கள் (Modular Service Workers)
பராமரிப்பு மற்றும் வாசிப்புத் திறனை மேம்படுத்த உங்கள் சர்வீஸ் வொர்க்கர் குறியீட்டை மாட்யூல்களாக ஒழுங்கமைக்கவும். ஜாவாஸ்கிரிப்ட் மாட்யூல்கள் (ESM) அல்லது வெப்பேக் அல்லது ரோல்அப் போன்ற ஒரு மாட்யூல் பண்ட்லரைப் பயன்படுத்தவும்.
4. டைனமிக் கேச்சிங் (Dynamic Caching)
பயனர் தொடர்புகள் மற்றும் பயன்பாட்டு முறைகளின் அடிப்படையில் சொத்துக்களை டைனமிக்காக கேச் செய்யவும். இது கேச் அளவை மேம்படுத்தவும் செயல்திறனை அதிகரிக்கவும் உதவும்.
சர்வீஸ் வொர்க்கர் மேம்பாட்டிற்கான சிறந்த நடைமுறைகள்
உங்கள் சர்வீஸ் வொர்க்கரை சிறியதாகவும் திறமையாகவும் வைத்திருங்கள். சர்வீஸ் வொர்க்கரில் சிக்கலான கணக்கீடுகள் அல்லது அதிக வளம் தேவைப்படும் செயல்பாடுகளைச் செய்வதைத் தவிர்க்கவும்.
உங்கள் சர்வீஸ் வொர்க்கரை முழுமையாக சோதிக்கவும். உங்கள் சர்வீஸ் வொர்க்கர் சரியாக செயல்படுகிறதா என்பதை உறுதிப்படுத்த பிரவுசர் டெவலப்பர் கருவிகள் மற்றும் சோதனை கட்டமைப்புகளைப் பயன்படுத்தவும்.
பிழைகளை நளினமாகக் கையாளவும். உங்கள் PWA செயலிழப்பதைத் தடுக்க அல்லது எதிர்பாராதவிதமாக செயல்படுவதைத் தடுக்க பிழை கையாளுதலைச் செயல்படுத்தவும்.
சர்வீஸ் வொர்க்கர்களை ஆதரிக்காத பயனர்களுக்கு ஒரு மாற்று அனுபவத்தை வழங்கவும். எல்லா பிரவுசர்களும் சர்வீஸ் வொர்க்கர்களை ஆதரிக்காது. இந்த பிரவுசர்களில் உங்கள் PWA இன்னும் சரியாக செயல்படுவதை உறுதிசெய்யவும்.
உங்கள் சர்வீஸ் வொர்க்கரின் செயல்திறனைக் கண்காணிக்கவும். செயல்திறன் சிக்கல்களைக் கண்டறிந்து தீர்க்க செயல்திறன் கண்காணிப்புக் கருவிகளைப் பயன்படுத்தவும்.
முடிவுரை
ஜாவாஸ்கிரிப்ட் சர்வீஸ் வொர்க்கர்கள் வலுவான, செயல்திறன் மிக்க மற்றும் ஈடுபாடுடைய PWAs-ஐ உருவாக்குவதற்கான சக்திவாய்ந்த கருவிகள். சர்வீஸ் வொர்க்கர் வாழ்க்கைச் சுழற்சியைப் புரிந்துகொண்டு, பொருத்தமான கேச்சிங் உத்திகள், பின்னணி ஒத்திசைவு மற்றும் புஷ் அறிவிப்புகளைச் செயல்படுத்துவதன் மூலம், ஆஃப்லைன் சூழல்களிலும் கூட நீங்கள் விதிவிலக்கான பயனர் அனுபவங்களை உருவாக்க முடியும். இந்தக் கட்டுரை உலகளாவிய பார்வையாளர்களுக்காக வெற்றிகரமான PWAs-ஐ உருவாக்குவதில் உங்களுக்கு வழிகாட்டுவதற்கான முக்கிய சர்வீஸ் வொர்க்கர் பேட்டர்ன்கள் மற்றும் சிறந்த நடைமுறைகளை ஆராய்ந்துள்ளது. வலை தொடர்ந்து विकसितப்பட்டு வரும் நிலையில், வலை மேம்பாட்டின் எதிர்காலத்தை வடிவமைப்பதில் சர்வீஸ் வொர்க்கர்கள் பெருகிய முறையில் முக்கிய பங்கு வகிக்கும்.
உங்கள் குறிப்பிட்ட பயன்பாட்டுத் தேவைகளுக்கு இந்த பேட்டர்ன்களை மாற்றியமைக்க நினைவில் கொள்ளுங்கள், எப்போதும் பயனர் அனுபவத்திற்கு முன்னுரிமை அளியுங்கள். சர்வீஸ் வொர்க்கர்களின் சக்தியை ஏற்றுக்கொள்வதன் மூலம், பயனரின் இருப்பிடம் அல்லது நெட்வொர்க் இணைப்பைப் பொருட்படுத்தாமல், செயல்படுவது மட்டுமல்லாமல், பயன்படுத்துவதற்கும் மகிழ்ச்சியாக இருக்கும் PWAs-ஐ நீங்கள் உருவாக்க முடியும்.
MDN Web Docs on Service Workers: [https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API)